簡單貝氏分類器(Naïve bayes, NB)為基於貝氏定理和隨機變數之間具有條件獨立的假設所建立的分類模型,可直接利用條件機率相乘算出聯合機率分佈。基於數學定理,因此可透過計算給定特定變數特徵下,該資料點在哪個分類下發生的機率最大,並藉此做到分類。
使用數學式可表示成
(1) 透過貝氏定理
(2) 假設隨機變數之間具有條件獨立
藉由訓練資料,即可得到各個機率數值,因此便可計算
優點
缺點
e1071
套件中的naiveBayes
library(e1071)
# 模型建立
model_nb <- naiveBayes(Activity ~ .,data = training)
# 預測
pred_nb <- predict(model_nb,testing)
# 衡量
confusionMatrix(pred_nb,reference = as.factor(testing$Activity))
sklearn.naive_bayes
套件中的GaussianNB
參考:連結
from sklearn.naive_bayes import GaussianNB
# 模型建立
model_nb = GaussianNB()
model_nb.fit(X_train, Y_train)
# 預測
pred_nb = model_nb.predict(X_test)
# 衡量
accuracy = metrics.accuracy_score(pred_nb,Y_test)
print(accuracy) # 0.677584423920408